package com.yudean.esb.service;

import javax.jws.WebParam;
import javax.jws.WebService;

/**
 * 提供ERP系统的数据接口
 *
 * @author DL
 */
@WebService
public interface ERPIndexService {

    /**
     * 获得公司净利润
     *
     * @param compCode 公司三字码
     * @param dateCode 日期（2013-06）
     * @param userName 用户名
     * @param passwd   密码
     * @return
     */
    String getProfitByDate(@WebParam(name = "compCode") String compCode,
                           @WebParam(name = "dateCode") String dateCode,
                           @WebParam(name = "userName") String userName,
                           @WebParam(name = "passwd") String passwd);

    /**
     * 公司淨利潤
     *
     * @param compCode  公司三字碼
     * @param yearCode  年份代碼
     * @param monthCode 月份代码
     * @param userName  用户名
     * @param passwd    密码
     * @return
     */
    String getProfit(@WebParam(name = "compCode") String compCode,
                     @WebParam(name = "yearCode") String yearCode,
                     @WebParam(name = "monthCode") String monthCode,
                     @WebParam(name = "userName") String userName,
                     @WebParam(name = "passwd") String passwd);

    /**
     * 获得去年的净利润
     *
     * @param compCode 公司三字码
     * @param userName 用户名
     * @param passwd   密码
     * @return
     */
    String getLastYearProfit(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String userName,
            @WebParam(name = "passwd") String passwd);

    /**
     * 获得本年度的净利润
     *
     * @param compCode 公司三字码
     * @param userName 用户名
     * @param passwd   密码
     * @return
     */
    String getThisYearProfit(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String userName,
            @WebParam(name = "passwd") String passwd);

    /**
     * 根据年份获得净利润
     *
     * @param compCode 公司三字码
     * @param yearCode 年份代码
     * @param userName 用户名
     * @param passwd   密码
     * @return
     */
    String getYearProfit(@WebParam(name = "compCode") String compCode,
                         @WebParam(name = "yearCode") String yearCode,
                         @WebParam(name = "userName") String userName,
                         @WebParam(name = "passwd") String passwd);

    /**
     * 获得上个月的净利润
     *
     * @param compCode 公司三字码
     * @param userName 用户名
     * @param passwd   密码
     * @return
     */
    String getLastMonthProfit(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String userName,
            @WebParam(name = "passwd") String passwd);

    /**
     * 获取本月净利润
     *
     * @param compCode 公司三字码
     * @param username 用户名
     * @param passwd   密码
     * @return
     */
    String getThisMothProfit(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String username,
            @WebParam(name = "passwd") String passwd);

    /**
     * 获取公司历年的某月的净利润
     *
     * @param compCode
     * @param userName
     * @param passwd
     * @return
     */
    String getMonthProfit(@WebParam(name = "compCode") String compCode,
                          @WebParam(name = "monthCode") String monthCode,
                          @WebParam(name = "userName") String userName,
                          @WebParam(name = "passwd") String passwd);

    /**
     * 获取发电量
     *
     * @param compCode 公司三字码
     * @param dateCode 日期代码
     * @param userName 用户名
     * @param passwd   密码
     * @return
     */
    String getEnergyByDate(@WebParam(name = "compCode") String compCode,
                           @WebParam(name = "dateCode") String dateCode,
                           @WebParam(name = "userName") String userName,
                           @WebParam(name = "passwd") String passwd);

    /**
     * 获取发电量
     *
     * @param compCode  公司三字码
     * @param yearCode  年份代码
     * @param monthCode 月份代码
     * @param userName  用户名
     * @param passwd    密码
     * @return
     */
    String getEnergy(@WebParam(name = "compCode") String compCode,
                     @WebParam(name = "yearCode") String yearCode,
                     @WebParam(name = "monthCode") String monthCode,
                     @WebParam(name = "userName") String userName,
                     @WebParam(name = "passwd") String passwd);

    /**
     * 获取去年的发电量
     *
     * @param compCode 公司三字码
     * @param userName 用户名
     * @param passwd   密码
     * @return
     */
    String getLastYearEnergy(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String userName,
            @WebParam(name = "passwd") String passwd);

    /**
     * 获取公司今年的发电量
     *
     * @param compCode 公司三字码
     * @param userName 用户
     * @param passwd   密码
     * @return
     */
    String getThisYearEnergy(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String userName,
            @WebParam(name = "passwd") String passwd);

    /**
     * @param compCode 公司三字码
     * @param yearCode 年份
     * @param userName 用户
     * @param passwd   密码
     * @return         获得年份的净利润
     */
    String getYearEnergy(@WebParam(name = "compCode") String compCode,
                         @WebParam(name = "yearCode") String yearCode,
                         @WebParam(name = "userName") String userName,
                         @WebParam(name = "passwd") String passwd);

    /**
     * @param compCode  公司三字码
     * @param userName  用户名
     * @param passwd    密码
     * @return          获得上个月的发电量
     */
    String getLastMonthEnergy(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String userName,
            @WebParam(name = "passwd") String passwd);

    /**
     * @param compCode  公司三字码
     * @param username  用户名
     * @param passwd    密码
     * @return          获得本月发电量
     */
    String getThisMothEnergy(
            @WebParam(name = "compCode") String compCode,
            @WebParam(name = "userName") String username,
            @WebParam(name = "passwd") String passwd);

    /*
     * 获取历年某月的发电量
     */
    String getMonthEnergy(@WebParam(name = "compCode") String compCode,
                          @WebParam(name = "monthCode") String monthCode,
                          @WebParam(name = "userName") String userName,
                          @WebParam(name = "passwd") String passwd);

}
